/** 
* Copyright (c) 2016 SQLines
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
*   http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

// Conversion notes and documentation links

#ifndef sqlexec_doc_h
#define sqlexec_doc_h

#define SQLINES_URL             "http://www.sqlines.com"
#define MEDIA_WARN_SIGN_HTML    "&nbsp;<img src=\"http://www.sqlines.com/_media/exclamation.png\">"
#define MEDIA_OK_SIGN_HTML      "&nbsp;<img src=\"http://www.sqlines.com/_media/green_tick.gif\" width=\"11\" height=\"11\">"
#define MEDIA_ERROR_SIGN_HTML   "&nbsp;<img src=\"http://www.sqlines.com/_media/red_cross.png\" width=\"11\" height=\"11\">"

#define SQL_DATATYPE_BLOB_DESC                  "Binary large object"
#define SQL_DATATYPE_BOOLEAN_DESC               "Logical value"
#define SQL_DATATYPE_CHAR_DESC                  "Fixed-length string"
#define SQL_DATATYPE_CLOB_DESC                  "Character large object"
#define SQL_DATATYPE_DATE_DESC                  "Date (year, month and day)"
#define SQL_DATATYPE_DATE_ORA_DESC              "Date and time with seconds"
#define SQL_DATATYPE_DECIMAL_DESC               "Fixed-point number"
#define SQL_DATATYPE_FLOAT_DESC                 "Floating-point number"
#define SQL_DATATYPE_INT_DESC                   "Integer number"
#define SQL_DATATYPE_LONG_DESC                  "Character large object"
#define SQL_DATATYPE_LONG_RAW_DESC              "Binary large data"
#define SQL_DATATYPE_NCHAR_DESC                 "National fixed-length string"
#define SQL_DATATYPE_NCLOB_DESC                 "National character large object"
#define SQL_DATATYPE_NVARCHAR2_DESC             "National variable-length string"
#define SQL_DATATYPE_NUMBER_DESC                "Numeric value"
#define SQL_DATATYPE_RAW_DESC                   "Binary data"
#define SQL_DATATYPE_REFCURSOR_DESC             "Reference cursor"
#define SQL_DATATYPE_ROWID_DESC                 "Physical row address"
#define SQL_DATATYPE_TIMESTAMP_DESC             "Date and time"
#define SQL_DATATYPE_VARCHAR_DESC               "Character string"
#define SQL_DATATYPE_VARCHAR2_DESC              "Character string"

#define SQL_USER_DATATYPE_EXCEPTION_DESC        "User-defined exception"
#define SQL_USER_DATATYPE_TYPE_DESC             "Type derived from a column"
#define SQL_USER_DATATYPE_RECORD_DESC           "Record type"
#define SQL_USER_DATATYPE_REF_CURSOR_DESC       "Reference cursor"
#define SQL_USER_DATATYPE_ROWTYPE_DESC          "Type derived from a table"
#define SQL_USER_DATATYPE_TABLE_DESC            "Table type"
#define SQL_USER_DATATYPE_VARRAY_DESC           "Variable-sized array"

#define SQL_FUNC_ABS_DESC                       "Get the absolute value"
#define SQL_FUNC_ADD_MONTHS_DESC                "Add months to datetime"
#define SQL_FUNC_ASCII_DESC                     "Get code by character"
#define SQL_FUNC_AVG_DESC                       "Calculate the average value"
#define SQL_FUNC_BITAND_DESC                    "Bit-wise logical AND operation"
#define SQL_FUNC_CEIL_DESC                      "Round to the largest integer"
#define SQL_FUNC_CHR_DESC                       "Get the character by its code"
#define SQL_FUNC_COALESCE_DESC                  "Return first non-null value"
#define SQL_FUNC_CONCAT_DESC                    "Concatenate strings"
#define SQL_FUNC_COUNT_DESC                     "Count rows"
#define SQL_FUNC_CURRENT_TIMESTAMP_DESC         "Get the current date and time"
#define SQL_FUNC_DECODE_DESC                    "Evaluate conditions"
#define SQL_FUNC_EXTRACT_DATETIME_DESC          "Extract a datetime part"
#define SQL_FUNC_FLOOR_DESC                     "Round to the smallest integer"
#define SQL_FUNC_GREATEST_DESC                  "Get the maximum value of operands"
#define SQL_FUNC_HEXTORAW_DESC                  "Convert a hex string to binary data"
#define SQL_FUNC_INSTR_DESC                     "Get the position of substring"
#define SQL_FUNC_LAST_DAY_DESC                  "Get the last day of month"
#define SQL_FUNC_LEAST_DESC                     "Get the minumim value of operands"
#define SQL_FUNC_LENGTH_DESC                    "Get the length of string"
#define SQL_FUNC_LOG_DESC                       "Calculate the logarithm"
#define SQL_FUNC_LOWER_DESC                     "Convert to lowercase string"
#define SQL_FUNC_LPAD_DESC                      "Pad the left-side of string"
#define SQL_FUNC_LTRIM_DESC                     "Remove leading spaces"
#define SQL_FUNC_MAX_DESC                       "Get the maximum value"
#define SQL_FUNC_MIN_DESC                       "Get the minimum value"
#define SQL_FUNC_MOD_DESC                       "Get the remainder of division"
#define SQL_FUNC_MONTHS_BETWEEN_DESC            "Get the number of months between dates"
#define SQL_FUNC_NEXT_DAY_DESC                  "Get date for the next week day"
#define SQL_FUNC_NVL_DESC                       "Replace NULL value"
#define SQL_FUNC_NVL2_DESC                      "Replace NULL value"
#define SQL_FUNC_POWER_DESC                     "Raise number to the specified power"
#define SQL_FUNC_RANK_DESC                      "Calculate the rank of value in a group"
#define SQL_FUNC_REGEXP_LIKE_DESC               "Match the regular expression" 
#define SQL_FUNC_REGEXP_SUBSTR_DESC             "Replace substring with regular expression" 
#define SQL_FUNC_REPLACE_DESC                   "Replace substring" 
#define SQL_FUNC_ROUND_DESC                     "Get the rounded value"
#define SQL_FUNC_ROW_NUMBER_DESC                "Get the number of given row"
#define SQL_FUNC_RPAD_DESC                      "Pad the right-side of string"
#define SQL_FUNC_RTRIM_DESC                     "Remove trailing spaces"
#define SQL_FUNC_SIGN_DESC                      "Return the sign of expression"
#define SQL_FUNC_SQLCODE_DESC                   "Get code of recent exception"
#define SQL_FUNC_SQLERRM_DESC                   "Get error message"
#define SQL_FUNC_SQLNOTFOUND_DESC               "No rows returned"
#define SQL_FUNC_SQLROWCOUNT_DESC               "Get the number of rows affected"
#define SQL_FUNC_SQRT_DESC                      "Return the square root of expression"
#define SQL_FUNC_SUBSTR_DESC                    "Get a substring"
#define SQL_FUNC_SUBSTRB_DESC                   "Get a substring"
#define SQL_FUNC_SYSDATE_DESC                   "Get the current date"
#define SQL_FUNC_SYSTIMESTAMP_DESC              "Get the current timestamp"
#define SQL_FUNC_SYS_CONTEXT_DESC               "Get the context information"
#define SQL_FUNC_SUM_DESC                       "Calculate the sum value"
#define SQL_FUNC_TO_CHAR_DESC                   "Convert to string"
#define SQL_FUNC_TO_DATE_DESC                   "Convert to date"
#define SQL_FUNC_TO_NUMBER_DESC                 "Convert to number"
#define SQL_FUNC_TO_TIMESTAMP_DESC              "Convert to timestamp"
#define SQL_FUNC_TO_TIMESTAMP_TZ_DESC           "Convert to timestamp with timezone"
#define SQL_FUNC_TRANSLATE_DESC                 "Replace characters"
#define SQL_FUNC_TRIM_DESC                      "Remove leading and trailing blanks"
#define SQL_FUNC_TRUNC_DESC                     "Truncate value"
#define SQL_FUNC_UPPER_DESC                     "Convert to uppercase string"
#define SQL_FUNC_XMLAGG_DESC                    "Create XML from elements"
#define SQL_FUNC_XMLELEMENT_DESC                "Create XML element"

#define SQL_PROC_PRAGMA_EXCEPTION_INIT_DESC      "Associate exception with error number"
#define SQL_PROC_PRAGMA_RESTRICT_REFERENCES_DESC "Set restrictions for function or procedure"
#define SQL_PROC_RAISE_APPLICATION_ERROR_DESC    "Raise user-defined error message" 
#define SQL_PROC_SP_ADDEXTENDED_PROPERTY_DESC    "Add an extended property"
#define SQL_PROC_SYSTEM_PROC_DESC                "System procedure"

#define SQL_STMT_COMMENT_ON_COLUMN_DESC         "Comment on column"
#define SQL_STMT_COMMIT_DESC                    "Commit transaction"
#define SQL_STMT_CREATE_FUNC_DESC               "Create user-defined function"
#define SQL_STMT_CREATE_MATERIALIZED_VIEW_DESC  "Create materialized view"
#define SQL_STMT_CREATE_VIEW_DESC               "Create view"
#define SQL_STMT_CREATE_PACKAGE_BODY_DESC       "Create package body"
#define SQL_STMT_CREATE_PACKAGE_SPEC_DESC       "Create package specification"
#define SQL_STMT_CREATE_PROC_DESC               "Create stored procedure"
#define SQL_STMT_CREATE_SCHEMA_DESC             "Create schema"
#define SQL_STMT_CREATE_SEQUENCE_DESC           "Create sequence"
#define SQL_STMT_CREATE_TABLE_DESC              "Create table"
#define SQL_STMT_INSERT_DESC                    "Insert rows"
#define SQL_STMT_MERGE_DESC                     "Merge rows"
#define SQL_STMT_SELECT_DESC                    "Execute a query"
#define SQL_STMT_UPDATE_DESC                    "Update rows"

#define SQL_STMT_SELECT_ORAJOIN                 "Oracle outer join (+) syntax"

#define SQL_STMT_CRPROC_JAVA_DESC               "Java stored procedure"

#define PLSQL_STMT_EXCEPTION_BLOCK_DESC    "Exception block"
#define PLSQL_STMT_EXECUTE_IMMEDIATE_DESC  "Execute a dynamic SQL"
#define PLSQL_STMT_EXIT_DESC               "Exit from loop"
#define PLSQL_STMT_FOR_LOOP_DESC           "FOR loop statement"
#define PLSQL_STMT_IF_DESC                 "IF statement"
#define PLSQL_STMT_NULL_DESC               "No operation statement"
#define PLSQL_STMT_OPEN_DESC               "Open a cursor"
#define PLSQL_STMT_PREPARE_DESC            "Prepare a dynamic SQL"
#define PLSQL_STMT_RAISE_DESC              "Raise an exception" 
#define PLSQL_STMT_RETURN_DESC             "Return from procedure or function"
#define PLSQL_STMT_WHILE_DESC              "WHILE loop statement"

#define PLSQL_STMT_EXCEPTION_ACCESS_INTO_NULL_DESC        "Assign attribute of NULL object" 
#define PLSQL_STMT_EXCEPTION_CASE_NOT_FOUND_DESC          "No condition met in CASE"
#define PLSQL_STMT_EXCEPTION_COLLECTION_IS_NULL_DESC      "Assigning to NULL collection"
#define PLSQL_STMT_EXCEPTION_CURSOR_ALREADY_OPEN_DESC     "Cursor already open"
#define PLSQL_STMT_EXCEPTION_DUP_VAL_ON_INDEX_DESC 	      "Insert duplicate values"
#define PLSQL_STMT_EXCEPTION_INVALID_CURSOR_DESC 	      "Operation on non-open cursor"
#define PLSQL_STMT_EXCEPTION_INVALID_NUMBER_DESC 	      "String does not represent valid number"
#define PLSQL_STMT_EXCEPTION_LOGIN_DENIED_DESC 		      "Invalid user name or password"
#define PLSQL_STMT_EXCEPTION_NO_DATA_FOUND_DESC 	      "SELECT INTO returns no rows"
#define PLSQL_STMT_EXCEPTION_NO_DATA_NEEDED_DESC 	      "Early exit from pipelined function"
#define PLSQL_STMT_EXCEPTION_NOT_LOGGED_ON_DESC 	      "Not connected"
#define PLSQL_STMT_EXCEPTION_OTHERS_DESC			      "All other conditions"
#define PLSQL_STMT_EXCEPTION_PROGRAM_ERROR_DESC 	      "Internal error"
#define PLSQL_STMT_EXCEPTION_ROWTYPE_MISMATCH_DESC 	      "Incompatible types"
#define PLSQL_STMT_EXCEPTION_SELF_IS_NULL_DESC 		      "Invoke method of NULL instance"
#define PLSQL_STMT_EXCEPTION_STORAGE_ERROR_DESC 	      "Out of memory"
#define PLSQL_STMT_EXCEPTION_SUBSCRIPT_BEYOND_COUNT_DESC  "Index number too large"
#define PLSQL_STMT_EXCEPTION_SUBSCRIPT_OUTSIDE_LIMIT_DESC "Index number is out of range"
#define PLSQL_STMT_EXCEPTION_SYS_INVALID_ROWID_DESC       "Invalid rowid"
#define PLSQL_STMT_EXCEPTION_TIMEOUT_ON_RESOURCE_DESC     "Timeout"
#define PLSQL_STMT_EXCEPTION_TOO_MANY_ROWS_DESC 	      "SELECT INTO returns more than one row"
#define PLSQL_STMT_EXCEPTION_VALUE_ERROR_DESC 		      "Expression error"
#define PLSQL_STMT_EXCEPTION_ZERO_DIVIDE_DESC             "Divide a number by zero"

#define SEQUENCE_CACHE_DESC         "Number of sequence values to cache"
#define SEQUENCE_CURRVAL_DESC       "The current value of sequence"
#define SEQUENCE_CYCLE_DESC         "Reuse values after reaching the limit"
#define SEQUENCE_INCREMENT_BY_DESC  "Positive or negative increment"
#define SEQUENCE_MINVALUE_DESC      "Minimum value"
#define SEQUENCE_MAXVALUE_DESC      "Maximum value"
#define SEQUENCE_NEXTVAL_DESC       "The next value of sequence"
#define SEQUENCE_NOCACHE_DESC       "Do not preallocate sequence values"
#define SEQUENCE_NOCYCLE_DESC       "Do not reuse values after reaching the limit"
#define SEQUENCE_NOMINVALUE_DESC    "No minimum value"
#define SEQUENCE_NOMAXVALUE_DESC    "No maximum value"

#define SEQUENCE_NOORDER_DESC    "No need to guarantee sequence numbers in order of requests" 
#define SEQUENCE_NOORDER_CONV    "Option is not supported, removed as it is default" 

#define SEQUENCE_ORDER_DESC    "Guarantee sequence numbers in order of requests" 
#define SEQUENCE_ORDER_CONV    "Option is not supported, commented" 
#define SEQUENCE_ORDER_URL     "sequence_order"

#define SEQUENCE_NOKEEP_DESC    "Do not keep the original value during replay" 
#define SEQUENCE_NOKEEP_CONV    "Option is not supported, removed as it is default" 

#define SEQUENCE_KEEP_DESC      "Keep the original value during replay" 
#define SEQUENCE_KEEP_CONV      "Option is not supported, commented" 

#define SEQUENCE_GLOBAL_DESC    "A regular sequence visible to all sessions" 
#define SEQUENCE_GLOBAL_CONV    "Option is not supported, removed as it is default" 

#define SEQUENCE_START_WITH_DESC    "Initial value" 

#define SQL_PKG_DBMS_OUTPUT_DESC    "Send messages and print debug information"

#define SQL_PKG_DBMS_OUTPUT_PUT_LINE_DESC    "Place line in the buffer or print line"

#endif // sqlexec_doc_h